As computing has become a ubiquitous function in business, government, academia and personal life, and as many diverse computer systems have become widely adopted, it has become increasingly important that a document created on one computer system can be read and edited on a different system. To give a common example, many organizations now have large numbers of disparate computer systems, including personal computers running the DOS operating system, with and without the overlying Windows environment, OS/2, Apple Macintosh computers, and workstations running various forms of the UNIX operating system. Documents created by an application running on one of these platforms typically cannot be read and edited on another platform.
In response to this situation, some application software developers have created versions of their programs, whether to perform word processing, spreadsheets or graphics functions, that operate on several different operating systems or "platforms." WordPerfect Corporation, for example, the assignee of the present invention, markets versions of its WordPerfect word processing program that operate in all of the platforms mentioned above, as well as many others.
Due to user preference, hardware availability, etc., documents created on a particular platform using an application that has separate versions for each of several different platforms will often need to be transported to one of the other platforms. For example, a document created on a DOS/Windows version of WordPerfect may later be brought to an OS/2 computer system having several application programs, including WordPerfect. Where the application program on a particular platform can read a document created on any other platform, as is the case for WordPerfect, the user will expect that the OS/2 operating system will not impede his/her ability to edit or read such documents created on, e.g., the DOS/Windows version of WordPerfect.
Moreover, since documents are represented as icons on the screen of OS/2 (and other graphically oriented systems), the user will simply select the document by double-clicking on its icon and expect that the operating system will be able to determine that the WordPerfect program must be put into operation before the document is retrieved. The OS/2 operating system in that situation must recognize that need, i.e., must be able to determine that the WordPerfect application program must be initiated before the document can be viewed or edited.
The OS/2 operating system provides a method for insuring that the proper application program will be invoked when the user selects a document by icon, at least if the document has previously been categorized or "typed." Specifically, the Workplace Shell component of OS/2, an object-oriented graphical user interface, includes the ability to modify the behavior of document object icons used by a particular application. In particular, a function contained in the Workplace Shell allows the programmer to give the icon representing any document that was created using a particular application program a unique appearance as well as a customized context menu and additional pages in the Workplace Shell Settings Notebook. The same function also guarantees that the operating system will run the associated application program when the user opens a chosen document.
The programming interface of OS/2 is object-oriented and is based on what is called the System Object Model ("SOM"). The SOM is a set of programming language-independent object classes that facilitate connections between objects written in any programming language and the OS/2 operating system. The Workplace Shell provides a set of SOM object class libraries that correspond to functions provided by the operating system and functions needed to create and display iconic objects to the user. To customize the document object icons for a given application, the programmer must create a Workplace Shell SOM object class that contains the desired customizations and then specify how files of documents within that class can be distinguished from other file objects that may exist on the system. For more information concerning the OS/2 Workplace Shell, and OS/2 in general, see the following, incorporated herein by reference:
IBM OS/2 Technical Library Version 2.00:
SOM Guide and Reference PA2 Application Design Guide PA2 Presentation Manager Programming Reference Vol. 2
OS/2 provides two ways to distinguish document file objects associated with a particular application: file name extensions and extended attributes.
The file name extension frequently indicates what type of data that file contains, and OS/2 is capable of recognizing such extensions. For example, the Workplace Shell allows an object class to be associated with a particular file name filter or pattern such as "*.BAT," "*.INI" or "*.DOC". Therefore, it is possible to have all file names of documents created using a particular application to have a common file name portion. However, for application programs such as WordPerfect, which permit the user to choose file names and extensions freely, use of a designated extension is not a reliable way of associating document objects to an application.
Second, OS/2 permits the addition of up to 64 kilobytes of information about a particular file in an area called an extended attribute. The extended attribute information can relate to the icon for the file, file activity history, network security information, or required program settings. In particular, it is possible to specify a ".TYPE" name for a file, or an entire directory of files. This method of characterizing a file allows a document object already recognized by OS/2 to be associated to a particular application program irrespective of its current file name and extension. Therefore, the .TYPE extended attribute feature can be used to associate documents with applications even for application programs that permit users to choose totally arbitrary file names and extensions.
However, a file can be "typed" using the .TYPE extended attribute only within the OS/2 operating system environment. In other words, a document created using an application from another operating system could not be "typed," and therefore this method would not permit the user who has installed an OS/2 version of the application to open the document from the Workplace Shell without first manually identifying the document as one requiring the particular application. Only those documents created or previously edited on an OS/2 system would have the .TYPE extended attribute associated with the application program, e.g., WordPerfect; documents created by WordPerfect on different operating systems would not be recognized as being associated with WordPerfect.